#ifndef EEZ_LVGL_UI_VARS_H
#define EEZ_LVGL_UI_VARS_H

#include <stdint.h>
#include <stdbool.h>

#ifdef __cplusplus
extern "C" {
#endif

// enum declarations



// Flow global variables

enum FlowGlobalVariables {
    FLOW_GLOBAL_VARIABLE_DATE_YEAR = 0,
    FLOW_GLOBAL_VARIABLE_DATE_MON_DAY = 1,
    FLOW_GLOBAL_VARIABLE_DATA_WEEK = 2,
    FLOW_GLOBAL_VARIABLE_TIME_HOUR_MIN = 3,
    FLOW_GLOBAL_VARIABLE_TIME_HOUR = 4,
    FLOW_GLOBAL_VARIABLE_TIME_MIN = 5,
    FLOW_GLOBAL_VARIABLE_STEPS = 6,
    FLOW_GLOBAL_VARIABLE_HEART_RATE = 7,
    FLOW_GLOBAL_VARIABLE_BLOOD_OXYGEN = 8,
    FLOW_GLOBAL_VARIABLE_HR_RUNNING = 9,
    FLOW_GLOBAL_VARIABLE_CD_RUNNING = 10,
    FLOW_GLOBAL_VARIABLE_CD_VALUE = 11,
    FLOW_GLOBAL_VARIABLE_CD_VALUE_STR = 12,
    FLOW_GLOBAL_VARIABLE_CD_BTN_STR = 13,
    FLOW_GLOBAL_VARIABLE_RECORD_STR = 14,
    FLOW_GLOBAL_VARIABLE_BLT_STATE = 15,
    FLOW_GLOBAL_VARIABLE_BLT_ONLINE_STATE = 16,
    FLOW_GLOBAL_VARIABLE_BLT_OFFLINE_STATE = 17,
    FLOW_GLOBAL_VARIABLE_SW_BTN_STR = 18,
    FLOW_GLOBAL_VARIABLE_SW_MIN_SEC_STR = 19,
    FLOW_GLOBAL_VARIABLE_SW_STOP_STATE = 20,
    FLOW_GLOBAL_VARIABLE_LIGHTNESS_VALUE = 21,
    FLOW_GLOBAL_VARIABLE_LIGHTNESS_VALUE_STR = 22,
    FLOW_GLOBAL_VARIABLE_HR_STOP_STATE = 23,
    FLOW_GLOBAL_VARIABLE_HR_BTN_STR = 24,
    FLOW_GLOBAL_VARIABLE_CHARGE_STATE = 25
};

// Native global variables

extern const char *get_var_date_year();
extern void set_var_date_year(const char *value);
extern const char *get_var_date_mon_day();
extern void set_var_date_mon_day(const char *value);
extern const char *get_var_data_week();
extern void set_var_data_week(const char *value);
extern const char *get_var_time_hour_min();
extern void set_var_time_hour_min(const char *value);
extern const char *get_var_time_hour();
extern void set_var_time_hour(const char *value);
extern const char *get_var_time_min();
extern void set_var_time_min(const char *value);
extern const char *get_var_steps();
extern void set_var_steps(const char *value);
extern const char *get_var_heart_rate();
extern void set_var_heart_rate(const char *value);
extern const char *get_var_blood_oxygen();
extern void set_var_blood_oxygen(const char *value);
extern bool get_var_hr_running();
extern void set_var_hr_running(bool value);
extern bool get_var_cd_running();
extern void set_var_cd_running(bool value);
extern int32_t get_var_cd_value();
extern void set_var_cd_value(int32_t value);
extern const char *get_var_cd_value_str();
extern void set_var_cd_value_str(const char *value);
extern const char *get_var_cd_btn_str();
extern void set_var_cd_btn_str(const char *value);
extern const char *get_var_record_str();
extern void set_var_record_str(const char *value);
extern bool get_var_blt_state();
extern void set_var_blt_state(bool value);
extern bool get_var_blt_online_state();
extern void set_var_blt_online_state(bool value);
extern bool get_var_blt_offline_state();
extern void set_var_blt_offline_state(bool value);
extern const char *get_var_sw_btn_str();
extern void set_var_sw_btn_str(const char *value);
extern const char *get_var_sw_min_sec_str();
extern void set_var_sw_min_sec_str(const char *value);
extern bool get_var_sw_stop_state();
extern void set_var_sw_stop_state(bool value);
extern int32_t get_var_lightness_value();
extern void set_var_lightness_value(int32_t value);
extern const char *get_var_lightness_value_str();
extern void set_var_lightness_value_str(const char *value);
extern bool get_var_hr_stop_state();
extern void set_var_hr_stop_state(bool value);
extern const char *get_var_hr_btn_str();
extern void set_var_hr_btn_str(const char *value);
extern bool get_var_charge_state();
extern void set_var_charge_state(bool value);


#ifdef __cplusplus
}
#endif

#endif /*EEZ_LVGL_UI_VARS_H*/